package com.blank.white.mapper;


import com.blank.black.entity.pojo.*;
import com.blank.white.entity.req.ListReq;
import com.blank.white.entity.req.TableInfoReq;
import com.blank.white.entity.vo.ColInfoVO;
import com.blank.white.entity.vo.TableInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 公用 mapper 类
 *
 * @author $author$
 */
@Mapper
public interface ConfigMapper {
    List<BlankConfig> listTopBlankConfig(@Param("listReq") ListReq listReq);

    Integer deleteBlankConfigByIds(List<Long> idList);

    Integer deleteConfigColByConfigIds(List<Long> idList);

    Integer deleteConfigCriteriaByConfigIds(List<Long> idList);

    Integer deleteConfigJoinByConfigIds(List<Long> idList);

    Integer deleteConfigJoinRelationByConfigIds(List<Long> idList);

    List<TableInfoVO> listTable(TableInfoReq req);

    List<String> listTableSchema(TableInfoReq req);

    List<ColInfoVO> listTableCol(List<TableInfoVO> list);

    Long insertConfig(BlankConfig itemConfig);

    Long updateBlankConfig(BlankConfig blankConfig);

    Long insertConfigCol(ConfigCol configCol);

    Long insertConfigCriteria(ConfigCriteria criteria);

    Long insertConfigJoin(ConfigJoin configJoin);

    Long insertConfigJoinRelation(ConfigJoinRelation configJoinRelation);
}